package com.zhuiYun.project.api.sysUser.entiy;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import java.io.Serializable;
import java.util.Date;

/**
 *
 * @ClassName SysUser
 * @Description 系统用户
 * @Author zcy
 * @Date 2023/3/24 15:43
 **/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class SysUser implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;
    /**
     * 用户名
     */
    private String userName;
    /**
     * 登录名
     */
    private String loginName;
    /**
     * 登录名
     */
    private String password;
    /**
     * 电话
     */
    private String phone;
    /**
     * 邮箱
     */
    private String email;
    /**
     * 头像id
     */
    private String avatarId;
    /**
     * 年龄
     */
    private Integer age;
    /**
     * 用户地址
     */
    private String address;
    /**
     * 用户创建时间
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")//JsonFormat是出参格式化。
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")//DateTimeFormat 是入参格式化；
    private Date createTime;
    /**
     * 更新时间
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")//JsonFormat是出参格式化。
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")//DateTimeFormat 是入参格式化；
    private Date updateTime;
    /**
     * 创建人 可以是创建方式  系统创建还是自己申请
     */
    private String createUser;
    /**
     * 修改人
     */
    private String updateUser;
    /**
     * 最后登陆IP
     */
    private String lastLoginIp;
    /**
     * 最后登陆日期
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss" )//DateTimeFormat 是入参格式化；
    private Date lastLoginTime;
    /**
     * 排序号
     */
    private Integer sortNum;
    /**
     * 用户状态 0 启用 1 禁用 2 注销
     */
    private Integer userFlag;
    /**
     * 备注
     */
    private String remarks;
}
